4 research outputs found
Network-wide Configuration Synthesis
Computer networks are hard to manage. Given a set of high-level requirements
(e.g., reachability, security), operators have to manually figure out the
individual configuration of potentially hundreds of devices running complex
distributed protocols so that they, collectively, compute a compatible
forwarding state. Not surprisingly, operators often make mistakes which lead to
downtimes. To address this problem, we present a novel synthesis approach that
automatically computes correct network configurations that comply with the
operator's requirements. We capture the behavior of existing routers along with
the distributed protocols they run in stratified Datalog. Our key insight is to
reduce the problem of finding correct input configurations to the task of
synthesizing inputs for a stratified Datalog program. To solve this synthesis
task, we introduce a new algorithm that synthesizes inputs for stratified
Datalog programs. This algorithm is applicable beyond the domain of networks.
We leverage our synthesis algorithm to construct the first network-wide
configuration synthesis system, called SyNET, that support multiple interacting
routing protocols (OSPF and BGP) and static routes. We show that our system is
practical and can infer correct input configurations, in a reasonable amount
time, for networks of realistic size (> 50 routers) that forward packets for
multiple traffic classes.Comment: 24 Pages, short version published in CAV 201
General Transitive Closures and Aggregate Functions
General transitive closures are a convenient operation for processing recursive structures with relational languages, because they are easy to understand, efficiently to implement and expressive enough to support a broad range of practical applications. To further extend the expressiveness of general transitive closures, we study the use of aggregate functions together with general transitive closures. While general transitive closures are restricted to express linear recursion, general transitive closures with aggregate functions can be used to express some nonlinear recursions too. We will give some conditions for general transitive closures with aggregate functions to be well formed and bottom up evalueable. We show how these constructs can be integrated in an extended SQL. Keywords: deductive databases, recursive query processing, SQL, general transitive closure
Deductive Queries in ODMG Databases: the DOQL Approach
The Deductive Object Query Language (DOQL) is a rule-based query language designed to provide recursion, aggregates, grouping and virtual collections in the context of an ODMG compliant object database system. This paper provides a description of the constructs supported by DOQL and the algebraic operational semantics induced by DOQL's query translation approach to implementation. The translation consists of a logical rewriting step used to normalise DOQL expressions into molecular forms, and a mapping step that transforms the canonical molecular form into algebraic expressions. The paper thus not only describes a deductive language for use with ODMG databases, but indicates how this language can be implemented using conventional query processing techniques. 1 Introduction The ODMG standard is an important step forward due to the provision of a reference architecture for object databases. This architecture encompasses an object model and type system, a set of imperative lan..